XML is indisputably the long-awaited lingua franca for defining and transmitting structured data. With a little help from XSL, it can also generate C++ code for you.
It's common practice to use assertions to check invariants at runtime, but assertions can be equally useful at compile time for doing things like checking arrays for proper size and order.
Discusses various alternatives of passing XML-defined data between client and server. Concludes with a brief discussion of SOAP and Web Services and how they relate to CORBA.
Describes CORBA Portable Interceptors, which are objects that an ORB invokes in the path of an operation invocation to monitor or modify the behavior of the invocation transparently.